package com.zlm.user.emp.service;

import com.zlm.common.dto.userEmp.SysEmpDto;
import com.zlm.user.emp.entity.SysEmpDO;
import com.zlm.user.emp.entity.dto.LoginAppParamsDto;
import org.apache.commons.lang3.tuple.Pair;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.Map;

/**
 * 登录服务
 * @Author: duyufu
 * @Date: 2019/4/12 9:34
 */
public interface LoginService {

    /**
     * 检查密码登录参数
     * @param loginAppParamsDto
     * @return
     */
    @RequestMapping("/checkLoginPwdParams")
    Pair<Boolean, String> checkLoginPwdParams(LoginAppParamsDto loginAppParamsDto);

    /**
     * 检查手机
     * @param mobile
     * @return
     */
    boolean checkMobile(String mobile);

    /**
     * 绑定手机号
     * @param loginAppParamsDto
     * @return
     */
    Map<String, Object> bindMobile(LoginAppParamsDto loginAppParamsDto);

    /**
     * 用户登录
     * @param mobile
     * @return
     */
    SysEmpDto loginEmp(String mobile);

    /**
     * 注册用户
     * @param mobile
     * @param password
     * @return
     */
    SysEmpDto registerEmp(String mobile, String password);

    /**
     * QQ登录
     * @param emp
     * @return
     */
    Map<String, Object> tencentLogin(SysEmpDO emp);

    /**
     * 验证码注册登录
     * @param mobile
     * @return
     */
    SysEmpDto activationLogin(String mobile);

    /**
     * 环信注册
     * @param userId
     */
    void huanxinRegister(Integer userId);

    /**
     * 强制下线
     * @param userHxId
     */
    void huanxinDisconnect(String userHxId);
}
